package com.zz.ecommerce.common.bean.qdc.db;

import com.zz.bundles.cache.dict.DictTag;
import com.zz.ecommerce.common.constants.DictConstants;
import com.zz.ecommerce.utils.SqlType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 申报青岛海关支付单信息保存表
 */
public class TPaymentHeadQdc implements Serializable {

    private static final long serialVersionUID = 98528864848452185L;


    /**
     * A-新建 (订单/运单/清单/支付信息/舱单)
     * D-删除
     * (订单/运单/清单/支付信息/舱单)
     * E-修改
     * (订单/运单/清单/支付信息/舱单)
     * S-申报(提离/运抵/个人备案)
     */
    private String appStepId;

    public String getAppStepId() {
        return this.appStepId;
    }

    public void setAppStepId(final String appStepId) {
        this.appStepId = appStepId;
    }

    private String id;

    /**
     * 支付编号
     */
    private String dealId;

    /**
     * 支付平台代码
     */
    private String dealPlatId;

    /**
     * 支付时间 格式为19位：yyyy-MM-ddThh:mm:ss
     */
    @SqlType(type = "date", format = "yyyy-mm-dd hh24:mi:ss", qryStart = "paymentDateStart", qryEnd = "paymentDateEnd")
    private String paymentDate;
    @SqlType(inTable = false)
    private String paymentDateStart;

    @SqlType(inTable = false)
    private String paymentDateEnd;


    /**
     * 支付描述
     */
    private String paymentDesc;

    /**
     * 支付金额
     */
    private BigDecimal paymentAmount;

    /**
     * 付款人账户
     */
    private String payerAccount;

    /**
     * 付款人姓名
     */
    private String payerName;

    /**
     * 付款人证件类型
     */
    private String payerCertType;

    /**
     * 付款人证件号
     */
    private String payerCertId;

    /**
     * 收款人账户
     */
    private String payeeAccount;

    @SqlType(isEquals=true)
    private String status;

    private Date statusTime;

    private Date createTime;

    private String operId;

    private String orgId;

    /**
     * 收款人名称
     */
    private String payeeName;

    /**
     * 收款人证件类型
     */
    private String payeeCertType;

    /**
     * 收款人证件号
     */
    private String payeeCertId;

    /**
     * 备注
     */
    private String note;

    /**
     * 电商平台代码
     */
    private String ebPlatId;

    /**
     * 订单编号
     */
    private String orderId;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    /**
     * @return 支付编号
     */
    public String getDealId() {
        return dealId;
    }

    /**
     * @param dealId 支付编号
     */
    public void setDealId(String dealId) {
        this.dealId = dealId;
    }

    /**
     * @return 支付平台代码
     */
    public String getDealPlatId() {
        return dealPlatId;
    }

    /**
     * @param dealPlatId 支付平台代码
     */
    public void setDealPlatId(String dealPlatId) {
        this.dealPlatId = dealPlatId;
    }

    /**
     * @return 支付时间 格式为19位：yyyy-MM-ddThh:mm:ss
     */
    public String getPaymentDate() {
        return paymentDate;
    }

    /**
     * @param paymentDate 支付时间 格式为19位：yyyy-MM-ddThh:mm:ss
     */
    public void setPaymentDate(String paymentDate) {
        this.paymentDate = paymentDate;
    }

    /**
     * @return 支付描述
     */
    public String getPaymentDesc() {
        return paymentDesc;
    }

    /**
     * @param paymentDesc 支付描述
     */
    public void setPaymentDesc(String paymentDesc) {
        this.paymentDesc = paymentDesc;
    }

    /**
     * @return 支付金额
     */
    public BigDecimal getPaymentAmount() {
        return paymentAmount;
    }

    /**
     * @param paymentAmount 支付金额
     */
    public void setPaymentAmount(BigDecimal paymentAmount) {
        this.paymentAmount = paymentAmount;
    }

    /**
     * @return 付款人账户
     */
    public String getPayerAccount() {
        return payerAccount;
    }

    /**
     * @param payerAccount 付款人账户
     */
    public void setPayerAccount(String payerAccount) {
        this.payerAccount = payerAccount;
    }

    /**
     * @return 付款人姓名
     */
    public String getPayerName() {
        return payerName;
    }

    /**
     * @param payerName 付款人姓名
     */
    public void setPayerName(String payerName) {
        this.payerName = payerName;
    }

    /**
     * @return 付款人证件类型
     */
    public String getPayerCertType() {
        return payerCertType;
    }

    public String getPayerCertTypeDisplay() {
        return DictTag.dictItem(DictConstants.ID_TYPE, payerCertType);
    }

    /**
     * @param payerCertType 付款人证件类型
     */
    public void setPayerCertType(String payerCertType) {
        this.payerCertType = payerCertType;
    }

    /**
     * @return 付款人证件号
     */
    public String getPayerCertId() {
        return payerCertId;
    }

    /**
     * @param payerCertId 付款人证件号
     */
    public void setPayerCertId(String payerCertId) {
        this.payerCertId = payerCertId;
    }

    /**
     * @return 收款人账户
     */
    public String getPayeeAccount() {
        return payeeAccount;
    }

    /**
     * @param payeeAccount 收款人账户
     */
    public void setPayeeAccount(String payeeAccount) {
        this.payeeAccount = payeeAccount;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public Date getStatusTime() {
        return statusTime;
    }

    public void setStatusTime(Date statusTime) {
        this.statusTime = statusTime;
    }

    public String getOperId() {
        return operId;
    }

    public void setOperId(String operId) {
        this.operId = operId;
    }

    public String getOrgId() {
        return orgId;
    }

    public void setOrgId(String orgId) {
        this.orgId = orgId;
    }

    /**
     * @return 收款人名称
     */
    public String getPayeeName() {
        return payeeName;
    }

    /**
     * @param payeeName 收款人名称
     */
    public void setPayeeName(String payeeName) {
        this.payeeName = payeeName;
    }

    /**
     * @return 收款人证件类型
     */
    public String getPayeeCertType() {
        return payeeCertType;
    }

    public String getPayeeCertTypeDisplay() {
        return DictTag.dictItem(DictConstants.ID_TYPE, payeeCertType);
    }

    /**
     * @param payeeCertType 收款人证件类型
     */
    public void setPayeeCertType(String payeeCertType) {
        this.payeeCertType = payeeCertType;
    }

    /**
     * @return 收款人证件号
     */
    public String getPayeeCertId() {
        return payeeCertId;
    }

    /**
     * @param payeeCertId 收款人证件号
     */
    public void setPayeeCertId(String payeeCertId) {
        this.payeeCertId = payeeCertId;
    }

    /**
     * @return 备注
     */
    public String getNote() {
        return note;
    }

    /**
     * @param note 备注
     */
    public void setNote(String note) {
        this.note = note;
    }

    /**
     * @return 电商平台代码
     */
    public String getEbPlatId() {
        return ebPlatId;
    }

    /**
     * @param ebPlatId 电商平台代码
     */
    public void setEbPlatId(String ebPlatId) {
        this.ebPlatId = ebPlatId;
    }

    /**
     * @return 订单编号
     */
    public String getOrderId() {
        return orderId;
    }

    /**
     * @param orderId 订单编号
     */
    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }


    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getPaymentDateStart() {
        return paymentDateStart;
    }

    public void setPaymentDateStart(String paymentDateStart) {
        this.paymentDateStart = paymentDateStart;
    }

    public String getPaymentDateEnd() {
        return paymentDateEnd;
    }

    public void setPaymentDateEnd(String paymentDateEnd) {
        this.paymentDateEnd = paymentDateEnd;
    }

    @Override
    public String toString() {
        return "TPaymentHeadQdc{" +
               "id='" + id + '\'' +
               ", dealId='" + dealId + '\'' +
               ", dealPlatId='" + dealPlatId + '\'' +
               ", paymentDate='" + paymentDate + '\'' +
               ", paymentDesc='" + paymentDesc + '\'' +
               ", paymentAmount=" + paymentAmount +
               ", payerAccount='" + payerAccount + '\'' +
               ", payerName='" + payerName + '\'' +
               ", payerCertType='" + payerCertType + '\'' +
               ", payerCertId='" + payerCertId + '\'' +
               ", payeeAccount='" + payeeAccount + '\'' +
               ", status='" + status + '\'' +
               ", statusTime=" + statusTime +
               ", createTime=" + createTime +
               ", operId='" + operId + '\'' +
               ", orgId='" + orgId + '\'' +
               ", payeeName='" + payeeName + '\'' +
               ", payeeCertType='" + payeeCertType + '\'' +
               ", payeeCertId='" + payeeCertId + '\'' +
               ", note='" + note + '\'' +
               ", ebPlatId='" + ebPlatId + '\'' +
               ", orderId='" + orderId + '\'' +
               '}';
    }
}
